package top.z.work.framework.web.annotation;

import top.z.work.framework.web.constant.OperateTypeEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 访问日志注解
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface AccessLogger {

    // 是否记录访问日志
    boolean enable() default true;

    // 是否记录请求参数
    boolean requestEnable() default true;

    // 是否记录响应结果
    boolean responseEnable() default false;

    // ========== 模块字段 ==========

    // 操作模块
    String module() default "";

    // 操作名
    String title() default "";

    // 操作分类
    OperateTypeEnum type() default OperateTypeEnum.OTHER;

}
